﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000115 RID: 277
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class BattleRogueMagicUnit : IMessage<BattleRogueMagicUnit>, IMessage, IEquatable<BattleRogueMagicUnit>, IDeepCloneable<BattleRogueMagicUnit>, IBufferMessage
	{
		// Token: 0x170003B6 RID: 950
		// (get) Token: 0x06000CA4 RID: 3236 RVA: 0x00025668 File Offset: 0x00023868
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<BattleRogueMagicUnit> Parser
		{
			get
			{
				return BattleRogueMagicUnit._parser;
			}
		}

		// Token: 0x170003B7 RID: 951
		// (get) Token: 0x06000CA5 RID: 3237 RVA: 0x0002566F File Offset: 0x0002386F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return BattleRogueMagicUnitReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170003B8 RID: 952
		// (get) Token: 0x06000CA6 RID: 3238 RVA: 0x00025681 File Offset: 0x00023881
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return BattleRogueMagicUnit.Descriptor;
			}
		}

		// Token: 0x06000CA7 RID: 3239 RVA: 0x00025688 File Offset: 0x00023888
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public BattleRogueMagicUnit()
		{
		}

		// Token: 0x06000CA8 RID: 3240 RVA: 0x0002569C File Offset: 0x0002389C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public BattleRogueMagicUnit(BattleRogueMagicUnit other) : this()
		{
			this.magicUnitId_ = other.magicUnitId_;
			this.level_ = other.level_;
			this.pAGMFIDOLPD_ = other.pAGMFIDOLPD_;
			this.diceSlotId_ = other.diceSlotId_;
			this.lMDKFHMGGBM_ = other.lMDKFHMGGBM_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06000CA9 RID: 3241 RVA: 0x00025701 File Offset: 0x00023901
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public BattleRogueMagicUnit Clone()
		{
			return new BattleRogueMagicUnit(this);
		}

		// Token: 0x170003B9 RID: 953
		// (get) Token: 0x06000CAA RID: 3242 RVA: 0x00025709 File Offset: 0x00023909
		// (set) Token: 0x06000CAB RID: 3243 RVA: 0x00025711 File Offset: 0x00023911
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint MagicUnitId
		{
			get
			{
				return this.magicUnitId_;
			}
			set
			{
				this.magicUnitId_ = value;
			}
		}

		// Token: 0x170003BA RID: 954
		// (get) Token: 0x06000CAC RID: 3244 RVA: 0x0002571A File Offset: 0x0002391A
		// (set) Token: 0x06000CAD RID: 3245 RVA: 0x00025722 File Offset: 0x00023922
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Level
		{
			get
			{
				return this.level_;
			}
			set
			{
				this.level_ = value;
			}
		}

		// Token: 0x170003BB RID: 955
		// (get) Token: 0x06000CAE RID: 3246 RVA: 0x0002572B File Offset: 0x0002392B
		// (set) Token: 0x06000CAF RID: 3247 RVA: 0x00025733 File Offset: 0x00023933
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool PAGMFIDOLPD
		{
			get
			{
				return this.pAGMFIDOLPD_;
			}
			set
			{
				this.pAGMFIDOLPD_ = value;
			}
		}

		// Token: 0x170003BC RID: 956
		// (get) Token: 0x06000CB0 RID: 3248 RVA: 0x0002573C File Offset: 0x0002393C
		// (set) Token: 0x06000CB1 RID: 3249 RVA: 0x00025744 File Offset: 0x00023944
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint DiceSlotId
		{
			get
			{
				return this.diceSlotId_;
			}
			set
			{
				this.diceSlotId_ = value;
			}
		}

		// Token: 0x170003BD RID: 957
		// (get) Token: 0x06000CB2 RID: 3250 RVA: 0x0002574D File Offset: 0x0002394D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MapField<uint, uint> LMDKFHMGGBM
		{
			get
			{
				return this.lMDKFHMGGBM_;
			}
		}

		// Token: 0x06000CB3 RID: 3251 RVA: 0x00025755 File Offset: 0x00023955
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as BattleRogueMagicUnit);
		}

		// Token: 0x06000CB4 RID: 3252 RVA: 0x00025764 File Offset: 0x00023964
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(BattleRogueMagicUnit other)
		{
			return other != null && (other == this || (this.MagicUnitId == other.MagicUnitId && this.Level == other.Level && this.PAGMFIDOLPD == other.PAGMFIDOLPD && this.DiceSlotId == other.DiceSlotId && this.LMDKFHMGGBM.Equals(other.LMDKFHMGGBM) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06000CB5 RID: 3253 RVA: 0x000257E4 File Offset: 0x000239E4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.MagicUnitId != 0U)
			{
				num ^= this.MagicUnitId.GetHashCode();
			}
			if (this.Level != 0U)
			{
				num ^= this.Level.GetHashCode();
			}
			if (this.PAGMFIDOLPD)
			{
				num ^= this.PAGMFIDOLPD.GetHashCode();
			}
			if (this.DiceSlotId != 0U)
			{
				num ^= this.DiceSlotId.GetHashCode();
			}
			num ^= this.LMDKFHMGGBM.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06000CB6 RID: 3254 RVA: 0x0002587C File Offset: 0x00023A7C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06000CB7 RID: 3255 RVA: 0x00025884 File Offset: 0x00023A84
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06000CB8 RID: 3256 RVA: 0x00025890 File Offset: 0x00023A90
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.MagicUnitId != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.MagicUnitId);
			}
			if (this.Level != 0U)
			{
				output.WriteRawTag(16);
				output.WriteUInt32(this.Level);
			}
			if (this.PAGMFIDOLPD)
			{
				output.WriteRawTag(24);
				output.WriteBool(this.PAGMFIDOLPD);
			}
			if (this.DiceSlotId != 0U)
			{
				output.WriteRawTag(32);
				output.WriteUInt32(this.DiceSlotId);
			}
			this.lMDKFHMGGBM_.WriteTo(ref output, BattleRogueMagicUnit._map_lMDKFHMGGBM_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06000CB9 RID: 3257 RVA: 0x00025934 File Offset: 0x00023B34
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.MagicUnitId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.MagicUnitId);
			}
			if (this.Level != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Level);
			}
			if (this.PAGMFIDOLPD)
			{
				num += 2;
			}
			if (this.DiceSlotId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.DiceSlotId);
			}
			num += this.lMDKFHMGGBM_.CalculateSize(BattleRogueMagicUnit._map_lMDKFHMGGBM_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06000CBA RID: 3258 RVA: 0x000259C4 File Offset: 0x00023BC4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(BattleRogueMagicUnit other)
		{
			if (other == null)
			{
				return;
			}
			if (other.MagicUnitId != 0U)
			{
				this.MagicUnitId = other.MagicUnitId;
			}
			if (other.Level != 0U)
			{
				this.Level = other.Level;
			}
			if (other.PAGMFIDOLPD)
			{
				this.PAGMFIDOLPD = other.PAGMFIDOLPD;
			}
			if (other.DiceSlotId != 0U)
			{
				this.DiceSlotId = other.DiceSlotId;
			}
			this.lMDKFHMGGBM_.MergeFrom(other.lMDKFHMGGBM_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06000CBB RID: 3259 RVA: 0x00025A4D File Offset: 0x00023C4D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06000CBC RID: 3260 RVA: 0x00025A58 File Offset: 0x00023C58
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 16U)
				{
					if (num == 8U)
					{
						this.MagicUnitId = input.ReadUInt32();
						continue;
					}
					if (num == 16U)
					{
						this.Level = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 24U)
					{
						this.PAGMFIDOLPD = input.ReadBool();
						continue;
					}
					if (num == 32U)
					{
						this.DiceSlotId = input.ReadUInt32();
						continue;
					}
					if (num == 42U)
					{
						this.lMDKFHMGGBM_.AddEntriesFrom(ref input, BattleRogueMagicUnit._map_lMDKFHMGGBM_codec);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04000537 RID: 1335
		private static readonly MessageParser<BattleRogueMagicUnit> _parser = new MessageParser<BattleRogueMagicUnit>(() => new BattleRogueMagicUnit());

		// Token: 0x04000538 RID: 1336
		private UnknownFieldSet _unknownFields;

		// Token: 0x04000539 RID: 1337
		public const int MagicUnitIdFieldNumber = 1;

		// Token: 0x0400053A RID: 1338
		private uint magicUnitId_;

		// Token: 0x0400053B RID: 1339
		public const int LevelFieldNumber = 2;

		// Token: 0x0400053C RID: 1340
		private uint level_;

		// Token: 0x0400053D RID: 1341
		public const int PAGMFIDOLPDFieldNumber = 3;

		// Token: 0x0400053E RID: 1342
		private bool pAGMFIDOLPD_;

		// Token: 0x0400053F RID: 1343
		public const int DiceSlotIdFieldNumber = 4;

		// Token: 0x04000540 RID: 1344
		private uint diceSlotId_;

		// Token: 0x04000541 RID: 1345
		public const int LMDKFHMGGBMFieldNumber = 5;

		// Token: 0x04000542 RID: 1346
		private static readonly MapField<uint, uint>.Codec _map_lMDKFHMGGBM_codec = new MapField<uint, uint>.Codec(FieldCodec.ForUInt32(8U, 0U), FieldCodec.ForUInt32(16U, 0U), 42U);

		// Token: 0x04000543 RID: 1347
		private readonly MapField<uint, uint> lMDKFHMGGBM_ = new MapField<uint, uint>();
	}
}
